// pages/my/my.js
//获取App应用实例
const app = getApp();
const defaultAvatarUrl = 'https://i.postimg.cc/85TCvCdj/wdltr.png'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 管理员OpenID
    adminOpenid: app.globalData.adminOpenid,
    UCenterBg: 'https://s2.loli.net/2023/03/12/UN4J2egGYpSutmH.jpg',
    UCenterBgImgList: [
      'https://s2.loli.net/2023/03/12/F8GLd5nzvPC4yRm.jpg',
      'https://s2.loli.net/2023/03/12/rge8mYNoyGtIRSM.png',
      'https://s2.loli.net/2023/03/12/NXn4L2Pwyuja7vR.jpg',
      'https://s2.loli.net/2023/03/12/5UfD2XpCwZ4kjG6.jpg',
      'https://s2.loli.net/2023/03/12/kMVXK7bIqDHCyji.jpg',
      'https://s2.loli.net/2023/03/12/Q4EMDegvYGcXIN1.png',
      'https://s2.loli.net/2023/03/12/rdDxnsNlSVZPMoy.jpg',
      'https://s2.loli.net/2023/03/12/5aoVIgPdmBQc4Ll.jpg',
      'https://s2.loli.net/2023/03/12/x93DzhnVMUL4AGl.jpg',
      'https://s2.loli.net/2023/03/12/rduqyfIohTlpzCL.jpg'
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.loadUserInfo()
  },
  loadUserInfo(){
    let timestamp = Date.parse(new Date());
    let expiration = wx.getStorageSync("userInfoExpiration");
    let userInfo = wx.getStorageSync("userInfo")
    if(expiration > timestamp && userInfo){
      this.setData({ userInfo: userInfo });
      return;
    }
    console.log("缓存中无userInfo或已过期~~");
  },
  /**
   * 获取用户头像昵称信息组件回调方法
   */
  getAvaNickData(res) {
    console.log("组件回调：",res);
    const {avatarUrl,nickName} = res.detail
    this.setData({
      'userInfo.avatarUrl': avatarUrl,
      'userInfo.nickName': nickName,
      'userInfo.hasUserInfo': true
    });
    // 调用云函数获取微信的openid判断是不是管理员
    wx.cloud.callFunction({
      // 云函数名称
      name: 'getOpenID',
      // 传给云函数的参数
      data: {},
      success: (res) => {
        console.warn("你的OpenID为:", res.result.openid);
        this.setData({
          'userInfo.happyBean': res.result.happyBean,
          'userInfo.openid': res.result.openid
        });
        if (res.result.openid == this.data.adminOpenid) {
          this.setData({
            'userInfo.Role': '管理员',
            'userInfo.adminRoleFlag': true
          });
        } else {
          this.setData({
            'userInfo.Role': '游客',
            'userInfo.adminRoleFlag': false
          });
        }
        console.log("最终要存入缓存的userInfo：",this.data.userInfo);
        app.globalData.userInfo = this.data.userInfo;
        wx.setStorageSync('userInfo', this.data.userInfo);
        // 有效期7天，1分钟=60000ms
        let expiration = Date.parse(new Date()) + (7 * 24 * 60 * 60000)
        wx.setStorage({
          data: expiration,
          key: 'userInfoExpiration'
        });
      },
      fail: (error) => {
        console.log("getOpenID云函数调用失败：", error);
        wx.showModal({
          title: '提示',
          content: 'getOpenID云函数调用失败'
        })
      }
    });
  },
  login(){
    if(this.data.userInfo){
      console.log("已登录~");
      return;
    }
    this.setData({ showAvaModal: true });
  },
  clickMyCat(){
    // 获取0~9的随机数
    let randomNum = Math.floor(Math.random() * 10);
    this.setData({
      UCenterBg: this.data.UCenterBgImgList[randomNum]
    })
  },
  toMyMessage(){
    if(!this.data.userInfo){
      wx.showModal({
        title: '提示',
        content: '请先点击头像图标登录'
      });
      return;
    }
    wx.navigateTo({
      url: './myMessage/myMessage',
    })
  },
  showWxModal(){
    this.setData({
      showWxModal: true
    })
  },
  hideWxModal(){
    this.setData({
      showWxModal: false
    })
  },
  toMusicPage(){
    wx.navigateTo({
      url: './songSheet/songSheet',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  //用户点击右上角分享朋友圈
	onShareTimeline: function () {
		return {
	      title: '遇见0和1',
	      query: {},
	      imageUrl: 'https://s2.loli.net/2023/05/21/Ip9loj5rP74ZNaf.png'
	  }
	},
  /**
   * 用户点击右上角分享好友
   */
  onShareAppMessage: function () {
    return {
      title:'遇见0和1',
      path: '/pages/home/index/index',
      imageUrl: 'https://s2.loli.net/2023/05/21/Ip9loj5rP74ZNaf.png',
    }
  }
})